package com.qdxwx.data.service.manager;

import com.qdxwx.common.page.PageRequest;
import com.qdxwx.models.manager.ManagerOnline;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 在线用户 服务层
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
public interface ManagerOnlineService
{
    /**
     * 通过会话序号查询信息
     */
    ManagerOnline getById(String sessionId);

    /**
     * 通过会话序号删除信息
     */
    void deleteById(String sessionId);

    /**
     * 通过会话序号删除信息
     */
    void batchDelete(List<String> sessions);

    /**
     * 保存会话信息
     */
    void save(ManagerOnline online);

    /**
     * 查询会话集合
     */
    List<ManagerOnline> getList(ManagerOnline userOnline, PageRequest page);

    long count(ManagerOnline userOnline);

    /**
     * 强退用户
     */
    void forceLogout(String sessionId);

    /**
     * 查询会话集合
     */
    List<ManagerOnline> getListByExpired(LocalDateTime expiredDate);
}
